Video games and other applications that display a virtual space for interaction typically require instructions to be downloaded onto a client computing platform with which a user interacts to play the video game. As the game is played (or the virtual space is otherwise interacted with), different game content such as levels, scenery, characters, items, and/or other game content may be displayed for interaction during gameplay. The game content may be displayed by expressing data objects at the client computing platform and/or instantiating data objects at a host server that hosts an online game for the client computing platform.
The data objects and logic that controls interactions with the data objects are typically predefined by the game application. Thus, the different game content is typically included in the game application. For example, an ADOBE FLASH file typically includes data objects for an expression of the game at a client computing device. The logic may control whether interactions with expressions of the data objects are possible and/or types of different interactions with expressions of the data objects that are possible.
Adding new game content and logic that controls such content typically requires the client computing platform to download additional instructions such as an add-on application (or a new version of the original application) because data objects and logic that controls them are predefined by the game application. For example, the ADOBE FLASH file would typically have to be updated with additional data objects for expressing the new game content. In games hosted by a game server, adding new content to the game may require the application at the game server to be updated with the additional instructions as well, requiring coordinated updates of instructions at the client and the server.
Adding new content to video games and other applications that present a virtual space for interaction is therefore inefficient for developers and results in an unsatisfying experience for users.